package org.example.dao;

import org.example.util.DbUtilHikari;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import cn.hutool.crypto.SecureUtil;

/*
* 对用户表的操作：注册用户、删除用户、查询用户、修改用户
* @author wuyingxuan
* @version 1.0
* */
public class UserDao {
    /*
    * 用户注册
    * @param uname 用户名
    * @param upaw 密码
    * @return 注册成功返回1，否则返回0
    * */
    public int insertUser(String uname,String upsw){
        //声明一些变量备用
        //conn代表数据库连接
        Connection conn;
        //预编译对象，用pstmt执行SQL语句
        PreparedStatement pstmt=null;
        //注册成功与否的标志，如果是0注册失败，如果1注册成功
        int flag=0;
        //获取链接
        conn= DbUtilHikari.getConnection();
        //定义并准备SQL语句
        String sql="INSERT INTO users(username,userpsw) VALUES(?,?)";
        try {
            pstmt=conn.prepareStatement(sql);
            //给？赋值
            pstmt.setString(1,uname);
            pstmt.setString(2,SecureUtil.md5(upsw));
            //执行SQL语句（下达执行指令）
            flag=pstmt.executeUpdate();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        } finally {
            //关闭数据库资源
            DbUtilHikari.close(pstmt,conn);
        }

        return flag;

    }
}
